package leetcode_1000;

/**
 *@author 周杨
 *RLEIterator_900 一种特殊数组的遍历器 如[3,8,0,9,2,5]->[8,8,8,5,5]
 *describe:用指针保存上次遍历到的位置 AC 14%
 *2018年11月13日 下午1:54:28
 */
public class RLEIterator_900 {
	int[] A;
    int i, q;
    public RLEIterator_900(int[] A) {
        this.A = A;
        i = q = 0;
    }
    public int next(int n) {
        while (i < A.length) {
            if (q + n > A[i]) {
                n -= A[i] - q;
                q = 0;
                i += 2;
            } else {
                q += n;
                return A[i+1];
            }
        }
        return -1;
    }
}
